# 1、实现九九乘法表
# for i in range(1, 10):
#     for j in range(1, i + 1):
#         print(f"{j}*{i}={i * j}", end=" ")
#     print()

# 2、实现1-100之和
# s = 0
# for i in range(1,101):
#     s += i
# print(s)

# 3、如何跨模块共享变量
# 一、采用general import的方法
# 二、采用import + whole init()的方法
# 三、builtins方法

# 4、python中生成随机整数（1-10），随机小数(1-10),0-1随机小数的方法
# import random
# print(random.randint(1, 10))
# print(random.uniform(1, 10))
# print(random.random())

# 5、python中哪些是可变数据类型，哪些是不可变数据类型，为什么
# 当该数据类型的对应变量的值发生了改变，那么它对应的内存地址也会发生改变，就称不可变数据类型
# 包括：int（整型）、string（字符串）、tuple（元组）
# 当该数据类型的对应变量的值发生了改变，那么它对应的内存地址不发生改变，就称可变数据类型
# 包括：set（集合）、list（列表）、dict（字典）

# 6、统计字符串中每个字符出现的次数
# str = input("请输入：")
# for i in set(str):
#     print(f"{i}出现了{str.count(i)}次")

# 7、python实现，给定一个字符串，找到字符串中第一个重复的字符
str = input("请输入：")
for i in str:
    if str.count(i) != 1:
        print(f"第一个重复的字符是 {i}")
        break

# 8、重复接受一个用户输入的字符，如果是正整数，就输出结果，否则就一直输入
# while True:
#     str = input("请输入正整数：")
#     if str.isdigit() and int(str) > 0:
#         break

# 9、用python实现冒泡排序
# def bubbleSort(arr):
#     n = len(arr)
#     # 遍历所有数组元素
#     for i in range(n):
#         # Last i elements are already in place
#         for j in range(0, n - i - 1):
#             if arr[j] > arr[j + 1]:
#                 arr[j], arr[j + 1] = arr[j + 1], arr[j]
# 
# arr = [64, 34, 25, 12, 22, 11, 90]
# bubbleSort(arr)
# print("排序后的数组:")
# for i in range(len(arr)):
#     print("%d" % arr[i])

